--必须在这个位置定义PROJECT和VERSION变量
--PROJECT：ascii string类型，可以随便定义，只要不使用,就行
--VERSION：ascii string类型，如果使用Luat物联云平台固件升级的功能，必须按照"X.X.X"定义，X表示1位数字；否则可随便定义
PROJECT = "UART"
VERSION = "3.0.0"
-- 配置uart:send方法是阻塞发送还是非阻塞发送
-- 非阻塞可能会产生分包。阻塞会阻塞luatVM
uart.BLOCK = false
--加载日志功能模块，并且设置日志输出等级
--如果关闭调用log模块接口输出的日志，等级设置为log.LOG_SILENT即可
require "log"
LOG_LEVEL = log.LOGLEVEL_TRACE

require "sys"

sys.taskInit(function()
    sys.wait(15000)
    local u1 = uart.new(1, 115200)
    u1:on("sent", function()
        log.info("-------------------------------------")
    end)
    local data = string.rep("1", 60000)
    log.info("start!")
    log.info("串口已发送1:", u1:send(data))
    log.info("#############################")
    log.info("串口已发送2:", u1:send(data))
    log.info("end")
    while true do
        local str = u1:recv(nil, 25)
        log.info("u1:recv", str)
        u1:send(str, 10)
        sys.wait(100)
    end
end)
sys.timerLoopStart(function()
    log.info("打印占用的内存:", _G.collectgarbage("count"))-- 打印占用的RAM
    log.info("打印可用的空间", rtos.get_fs_free_size())-- 打印剩余FALSH，单位Byte
end, 1000)

--启动系统框架
sys.init(0, 0)
sys.run()
